Zend Framework

更新时间:2023-12-09 11:26

Zend Framework(简写ZF)是由 Zend 公司支持开发的完全基于 PHP5 的开源PHP开发框架,可用于开发 Web 程序和服务,ZF采用 MVC(Model–View-Controller) 架构模式来分离应用程序中不同的部分方便程序的开发和维护。

简介

Zend Framework (ZF) 是用 PHP 5.3及更高版本 来开发 web 程序和服务的开源框架。ZF 用 100% 面向对象编码实现。 ZF 的组件结构独一无二,每个组件几乎不依靠其他组件。这样的松耦合结构可以让开发者独立使用组件。 我们常称此为 “use-at-will”设计。

Zend Framework 项目的主要赞助者是 Zend Technologies,但许多 其它公司也贡献了组件或重大功能。例如 GoogleMicrosoft和 StrikeIron 作为伙伴提供了 web 服务接口和其它 希望给 Zend Framework 开发者使用的技术。

没有活跃的 ZF 社区,Zend Framework 就不能交付和支持所有这些功能。社区成员包括贡献者都可以在这些地方找到: mailing lists, IRC channels 和其它论坛。无论你有什么关于 ZF 的问题,在社区里总能找到答案。

Zend Framework经历了长达数年的开发,终于在2012年9月5日正式发布了Zend Framework 2,简称ZF2。时隔1.0版本的发布已经有5年之久。新的ZF2基本重写了整个底层代码,可以看作一个全新的框架,并且带来了很多新的特性。

第2版概况

模块化

(ModuleManager)

比起ZF1来说,ZF2原生支持模块的概念,任意第三方php程序,只要遵循Zend的编码规范和代码结构,都可以变成一个Zend模块。

事件驱动

(EventManager)

传统程序中,代码都是按线性顺序执行的,所以开发中往往很难将一些功能独立为一个组件或模块。

事件驱动,或者也可以叫钩子(Hook),改变了普通框架MVC流程化的运行方式,应用了事件驱动之后,程序将呈现“注册事件” => “触发事件”的跳跃式运行,可以在不影响原有程序代码的,很容易的在任意位置加入新的业务逻辑,让项目的开发变得极为灵活。

服务管理器

(ServiceManager)

依赖注入

(Di Dependency Injection)

依赖注入广泛应用于Java的主流框架中,可以很好的解除大型应用中的耦合。ZF2引入Di也经过了反复的考量和权衡,即使进入beta阶段,Di仍然一度作为ZF2的基本实现方案,整个Mvc的配置基于Di。最终为了避免陷入Di可能造成的元数据式编程泥潭(Metaprogramming),Di只是作为ZF2的底层实现,上层加入了ServiceManager。普通开发者在使用ZF2的过程中不需要接触到Di的层面。不过这并不妨碍DI作为一个优秀的php组件存在并发挥作用。

社会化编程

ZF2的代码完全托管在Github,借助Github的优秀设计,任何人都可以轻松的通过fork参与ZF2的项目建设,甚至提交新的模块功能。

第1版概述

组件

ZF中的组件可以独立使用,但如果将它们组合起来,就形成了一个强大而可扩展的web开发框架。 ZF 提供了强壮而高效的 MVC实现,易于使用的数据库摘要和实现 HTML 表单解析、校验和过滤的表单组件,这样 开发者可以通过这些易用的、面向对象的接口联合所有这些操作。其它组件如 Zend_Auth和 Zend_Acl通过通用 的证书(credential)存储提供用户认证和授权。还有其它实现的客户库来简化访问最流行的可用的 web 服务。 不论你的程序需要什么,你都可能从 Zend Framework 中找到经过全面和严格测试的组件来使用,可以极为有效地减少开发时间。

Zend_Acl

提供轻量并灵活的访问控制列表(ACL,AccessControlList)功能和权限管理

Zend_Amf

Zend_Auth

主要用于认证,如用户注册,登录

Zend_Cache

为应用程序提供缓存服务

Zend_Config

简化应用程序中配置数据的使用

Zend_Console_Getopt

帮助命令行程序解析它们的选项和参数

Zend_Controller

ZendFramework的MVC体系的核心部分

Zend_Currency

通用的货币处理方式,根据不同的地区,使用不同的货币格式

Zend_Date

处理日期

Zend_Db

提供基于PDO的数据库操作方法

Zend_Debug

用于调试程序中表达式或变量的信息

Zend_Exception

ZendFramework中的异常处理类,ZendFramework抛出的所有异常都必须是它的子类的对象

Zend_Feed

提供对RSS和AtomFeed的处理功能

Zend_Filter

提供了一系列普遍使用的数据过滤器,同时也提供了一个简单的过滤器机制,使多个过滤器以用户定义的顺序对一个单一的数据进行过滤

Zend_Form

结合其它组件来创建和处理表单元素

Zend_Gdata

Gdata是GoogleData的缩写,Zend_Gdata提供了访问和处理GoogleAPI的功能

Zend_Layout

实现经典的两步视图模型

Zend_Ldap

提供对LDAP(轻量级目录访问协议)授权的基本支持

Zend_Loader

提供动态加载文件和类功能

Zend_Locale

本地化

Zend_Log

提供日志记录功能,支持多个日志后端

Zend_Mail

提供邮件发送功能

Zend_Measure

提供单位换算转换功能

Zend_Memory

Zend_Memory组件用于在一个受限制的内存环境下管理数据

特性

Zend Framework 是用于 PHP 开发 Web 应用程序和 Web Service 程序的高品质开源框架。

利用 PHP 自身特性,Zend Framework 有很高的易用性和强大的功能。它提供了先进、健壮和安全的开发网站的解决方案。

代码完全采用PHP5 面向对象编写;丰富完善的组件支持;良好的 Ajax 支持;

模块化的结构设计,易于扩展;完善的文档资料;灵活的架构设计

MVC是提高程序的可维护性的方法:将这个程序代码分为MVC三个部分

模型

关心的是欲显示的数据细节。关注的应用程序的业务逻辑部分,关注的是如何使用数据库来读取和保存数据。

视图

关心的是用户显示的部分,它通常是HTML

控制器

将特定的模型和视图结合起来,保证将正确的数据显示到页面上。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}